package org.zfes.snowier.cloud.zbss.pmp;

import java.util.stream.Stream;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.context.annotation.Import;
import org.zfes.snowier.boot.starter.configrations.datasourse.DynamicDataSourceRegister;
import org.zfes.snowier.boot.starter.configrations.swagger.EnableSnowierSwagger2;

@EnableAspectJAutoProxy(proxyTargetClass = true)
@ServletComponentScan
@EnableConfigurationProperties
@Import({DynamicDataSourceRegister.class})
@EnableSnowierSwagger2
//@EnableCircuitBreaker
//@EnableFeignClients(basePackages= {"org.zfes.snowier.biz.feignapi"})
@SpringBootApplication( 
		scanBasePackages= {
				"org.zfes.snowier.cloud.zbss.pmp",
				"org.zfes.snowier.boot.starter",
				"org.zfes.snowier"},
		exclude={MongoAutoConfiguration.class,MongoDataAutoConfiguration.class}
		)

public class AppMainEntry{
	
	
	
    public static void main(String[] args) throws Exception {
    	ConfigurableApplicationContext aap=SpringApplication.run(AppMainEntry.class, args);
    	Stream.of(aap.getBeanDefinitionNames()).forEach(val->{
    		//System.out.println(val);
    	});
    }
    
    
    
   
}
